//
//  FunctionView2.swift
//  swiftStudy
//
//  Created by ext.zhangjunfei on 2021/7/1.
//

import SwiftUI

struct FunctionView2: View {
    
    let code_1:String
    
    init() {
        code_1 =
            """
            //声明一个函数变量,作为函数的参数进行传递
            func sum_6(a:Int,b:Int,addFunc:(Int,Int)->Void){
                addFunc(a,b)
            }

            //调用函数变量，作为回调函数
            sum_6(a: 10, b: 20) { (a, b) in
                print(a+b)
            }
            """
    }
    
    var body: some View {
        ScrollView(.vertical){
            LazyVStack(alignment:.leading, spacing: 10) {
                Section(header: SectionHeaderView(title: "函数类型")) {
                    CommonTextView(content: "Swift中每一个函数都有其特定的类型。因此，我们也可以像声明普通变量那样来声明一个函数。将函数作为数据类型这种语言设计思路有强大的优势，这将允许将一个函数作为另一个函数的参数或者返回值，大大增加了编程的灵活性。")
                    CodeView(code: code_1).padding(10)
                }
            }
        }
    }
}

struct FunctionView2_Previews: PreviewProvider {
    static var previews: some View {
        FunctionView2()
    }
}
